From: Jasper St. Pierre Date: Wed, 29 Apr 2015 00:36:53 +0000 (-0700) Subject: layout: Track which barriers have been hit X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1366 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8a8abf12f99551687e52751cae6092eedd31fc8c;p=gnome-shell.git layout: Track which barriers have been hit For barriers like the hot corner which are made up of multiple axis barriers, make sure that all the barriers have been left before resetting the barrier. --- diff --git a/js/ui/layout.js b/js/ui/layout.js index 204665fa0..d5780e523 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -1316,8 +1316,11 @@ const PressureBarrier = new Lang.Class({ }, _onBarrierLeft: function(barrier, event) { - this._reset(); - this._isTriggered = false; + barrier._isHit = false; + if (this._barriers.every(function(b) { return !b._isHit; })) { + this._reset(); + this._isTriggered = false; + } }, _trigger: function() { @@ -1327,6 +1330,8 @@ const PressureBarrier = new Lang.Class({ }, _onBarrierHit: function(barrier, event) { + barrier._isHit = true; + // If we've triggered the barrier, wait until the pointer has the // left the barrier hitbox until we trigger it again. if (this._isTriggered)